From 225d9caf7c7128ad397a7b6c9b6035df1b72bd8b Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Fri, 9 Jun 2006 09:17:47 +0000 Subject: [PATCH] Call ReleaseDC() on DCs acquired with GetDC() (for windows), and 2006-06-09 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc): Call ReleaseDC() on DCs acquired with GetDC() (for windows), and DeleteDC() on DCs acquired with CreateCompatibleDC() (for bitmaps). According to MSDN, this is the correct thing to do, even if always using DeleteDC() seems to have worked fine in practice. (#337491) --- ChangeLog | 9 +++++++++ ChangeLog.pre-2-10 | 9 +++++++++ gdk/win32/gdkdrawable-win32.c | 5 ++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1c6aadbf5f..c67673d54b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-06-09 Tor Lillqvist + + * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc): + Call ReleaseDC() on DCs acquired with GetDC() (for windows), and + DeleteDC() on DCs acquired with CreateCompatibleDC() (for + bitmaps). According to MSDN, this is the correct thing to do, even + if always using DeleteDC() seems to have worked fine in + practice. (#337491) + 2006-06-08 Matthias Clasen * tests/testprint.c: Update for api changes. diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 1c6aadbf5f..c67673d54b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +2006-06-09 Tor Lillqvist + + * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc): + Call ReleaseDC() on DCs acquired with GetDC() (for windows), and + DeleteDC() on DCs acquired with CreateCompatibleDC() (for + bitmaps). According to MSDN, this is the correct thing to do, even + if always using DeleteDC() seems to have worked fine in + practice. (#337491) + 2006-06-08 Matthias Clasen * tests/testprint.c: Update for api changes. diff --git a/gdk/win32/gdkdrawable-win32.c b/gdk/win32/gdkdrawable-win32.c index d14dfc1d88..9171ca35c2 100644 --- a/gdk/win32/gdkdrawable-win32.c +++ b/gdk/win32/gdkdrawable-win32.c @@ -1889,7 +1889,10 @@ _gdk_win32_drawable_release_dc (GdkDrawable *drawable) if (impl->hdc) { - GDI_CALL (DeleteDC, (impl->hdc)); + if (GDK_IS_PIXMAP_IMPL_WIN32 (impl)) + GDI_CALL (DeleteDC, (impl->hdc)); + else + GDI_CALL (ReleaseDC, (impl->handle, impl->hdc)); impl->hdc = NULL; } } -- 2.30.2